400. 第 N 位数字
https://leetcode-cn.com/problems/nth-digit/
- 提交时间:2021-11-30 11:03:14
- 执行用时:0 ms, 在所有 Go 提交中击败了100.00%的用户
- 内存消耗:1.9 MB, 在所有 Go 提交中击败了37.33%的用户
- 通过测试用例:71 / 71
func findNthDigit(n int) int {
var num float64
if n < 10 {
return n
}
for i := 1; i <= 31; i++ {
num = math.Pow(10, float64(i))
if num <= float64(n/i) {
// fmt.Printf("pos1_num:%+v,n:%+v,i:%+v\n", num, n, i)
//n往上加
n = n + int(num)
continue
}
// fmt.Printf("pos2_num:%+v,n:%+v,i:%+v\n", num, n, i)
//算答案
targetNum := strconv.Itoa(n / i)
targetPos := n % i
// fmt.Printf("targetNum:%+v,targetPos:%+v\n", targetNum, targetPos)
ans, _ := strconv.Atoi(string(targetNum[targetPos]))
return ans
}
return 0
}